<?
	/* Se asegura que el archivo es incluido por el index */
		defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Establecimiento_marca_lst( $this );

	class Establecimiento_marca_lst extends Lst
	{
	function Establecimiento_marca_lst( &$oModule )
		{
			$this->Lst( $oModule );
		}

	function setLevel()
		{
			switch ( $this->getOptionView() )
			{
				case 'E':
				case 'L':
					$this->aShowColumns = array( 'Establecimiento', 'Marca' , 'Domicilio' );
					break;
			}
			if ( array_key_exists( 'ncEstablecimiento' , $this->aFields )  ) unset($this->aShowColumns[array_search( 'Establecimiento',$this->aShowColumns)]);
			if ( array_key_exists( 'ncMarca' , $this->aFields )  ) unset($this->aShowColumns[array_search( 'Marca',$this->aShowColumns)]);			
		}
	function initialize()
		{
			$this->oFiltro = $this->oModule->loadClass( 'Establecimiento_marca_frm' );
			$this->aFields = array_merge ( (array)$this->aFields,  (array)$this->oFiltro->getFieldArray() );
			
			// Setea el titulo y la descripcion de la tabla
			$this->setTitle ( "EstablecimientoMarca" );
			$this->setSummary( "Esta tabla contiene el listado de EstablecimientoMarca" );
			$this->addColumn ( 'Establecimiento', 'cdEstablecimiento', true );
			$this->setColumnAction ( 'Establecimiento', VER_ESTABLECIMIENTO, 'ncEstablecimiento' );
			$this->addColumn ( 'Marca', 'cdMarca', true );
			$this->addColumn ( 'Domicilio', '' );
		}
	function makeColumn ( $aRow, $cField )
		{
			switch( $cField )
			{
				case 'Domicilio':
					//$this->oDomicilio->setValue(  );
					$cReturn = $this->oDomicilio->getDescription( $aRow["ncDomicilio"] );
					break;
				default:
					return false;
				break;
			}
			return $cReturn;
		}
	function query()
		{
			// Crea el Objeto Domicilio
				$oModAdministracion =& loadModule('administracion');
				$oModAdministracion->setSubModule('entidades');
				$this->oDomicilio = $oModAdministracion->loadClass( 'Domicilio_frm' );
			// Arma el Query
				$cSql = "SELECT EMa.ncEstablecimiento,EMa.ncMarca, cdMarca, cdEstablecimiento, ncDomicilio
								FROM gtEstablecimientoMarca as EMa
								JOIN gtMarca as Mar
									ON EMa.ncMarca = Mar.ncMarca
								JOIN gtEstablecimiento as Est
									ON Est.ncEstablecimiento = EMa.ncEstablecimiento
								";
			// Arma el Filtro de la Consulta
				$this->oFiltro->setDefaultSearchField( "cdMarca" );
				$this->oWhere->addArray ( $this->oFiltro->getFilterdArray('EMa') );
			return $cSql . $this->oWhere->make();
		}
	function makeListActions()
		{
			$cParametroRegistro =  $this->getFieldString();
			$this->addListAction ( AGREGAR_ESTABLECIMIENTOMARCA, $cParametroRegistro, 'I' );
		}
	function makeRowActions( $aRow )
		{
			$cParametroRegistro = "ncMarca=" . $aRow["ncMarca"] . '&amp;' .  "ncEstablecimiento=" . $aRow["ncEstablecimiento"];
			$this->addRowAction ( MODIFICAR_ESTABLECIMIENTOMARCA, $cParametroRegistro , '', VENTANA_SECUNDARIA );
			$this->addRowAction ( ELIMINAR_ESTABLECIMIENTOMARCA ,  $cParametroRegistro );
		}
	}
?>